<div class="content-left-wrap col-md-12">
  <div id="primary" content="content-area">
    <main id="main" class="site-main"
          itemscope="" itemtype="http://schema.org/WebPageElement" itemprop="mainContentOfPage">
      <article id="cheat-sheet" class="type-post status-publish format-standard hentry category-non-classe">
        <header class="entry-header">
          <h1 class="entry-title" itemprop="headline">Gatling's Cheat sheet</h1>
        </header>
        <div class="entry-content" itemprop="text">
          <p>Click on a DSL element to know how to use it and what it does</p>

          <!-- Scenario definition -->

          <div class="row-fluid">
            <h2>
              Scenario definition
              <small>Describe your users behaviour</small>
            </h2>

            <!-- Scenario -->

            <div class="scenario group col-lg-4 col-md-6 col-xs-12">
              <h3>Scenario</h3>

              <div class="function">
                <label class="function-syntax" for="scenario">scenario</label>
                <input type="checkbox" id="scenario" name="scenario">

                <div class="function-details">
                  Declares a new scenario
                  <dl>
                    <dt>(name)</dt>
                    <dd><i>name</i> is the scenario name in the reports</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Conditions -->

            <div class="conditions group pull-right col-lg-4 col-md-6 col-xs-12">
              <h3>Conditions</h3>

              <div class="function">
                <label class="function-syntax" for="doIf">doIf</label>
                <input type="checkbox" id="doIf" name="doIf">

                <div class="function-details">
                  Executes a chain when a condition is satisfied
                  <dl>
                    <dt>(condition){chain}</dt>
                    <dd>If the result of the condition is true, then <i>chain</i> is executed.</dd>
                    <dt>(Session => Boolean){chain}</dt>
                    <dd>If the result of the function <i>Session => Boolean</i> is true, then <i>chain</i> is executed.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doIfOrElse">doIfOrElse</label>
                <input type="checkbox" id="doIfOrElse" name="doIfOrElse">

                <div class="function-details">
                  Executes a chain when a condition is satisfied, another if not
                  <dl>
                    <dt>(condition){chain}{otherChain}</dt>
                    <dd>If the result of the condition is true, then <i>chain</i> is executed, else
                      <i>otherChain</i> is executed.
                    </dd>
                    <dt>(Session => Boolean){chain}{otherChain}</dt>
                    <dd>If the result of the function <i>Session => Boolean</i> is true,
                      then <i>chain</i> is executed, else <i>otherChain</i> is executed.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doIfEquals">doIfEquals</label>
                <input type="checkbox" id="doIfEquals" name="doIfEquals">

                <div class="function-details">
                  Executes a chain when two values are equal
                  <dl>
                    <dt>(expected, actual){chain}</dt>
                    <dd>If expected equals actual, then <i>chain</i> is executed</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doIfEqualsOrElse">doIfEqualsOrElse</label>
                <input type="checkbox" id="doIfEqualsOrElse" name="doIfEqualsOrElse">

                <div class="function-details">
                  Executes a chain when two values are equal, another if not
                  <dl>
                    <dt>(expected, actual){chain}{otherChain}</dt>
                    <dd>If expected equals actual, then <i>chain</i> is executed, else
                      <i>otherChain</i> is executed.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doSwitch">doSwitch</label>
                <input type="checkbox" id="doSwitch" name="doSwitch">

                <div class="function-details">
                  Executes a chain based on a key
                  <dl>
                    <dt>(key){switch}</dt>
                    <dd>Switch is selected through the matching of a key with the evaluation of the passed expression.
                      If
                      no
                      switch is selected, switch is bypassed.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doSwitchOrElse">doSwitchOrElse</label>
                <input type="checkbox" id="doSwitchOrElse" name="doSwitchOrElse">

                <div class="function-details">
                  Executes a chain based on a key or a fallback chain
                  <dl>
                    <dt>(key){switch}{chain}</dt>
                    <dd>Switch is selected through the matching of a key with the evaluation of the passed expression.
                      If
                      no
                      switch is selected, <i>chain</i> is executed
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="randomSwitch">randomSwitch</label>
                <input type="checkbox" id="randomSwitch" name="randomSwitch">

                <div class="function-details">
                  Current user will continue in one of the specified weighted chains. Can be used to simulate simple
                  Markov
                  chains
                  <dl>
                    <dt>(Map[%,Chain])</dt>
                    <dd>The <i>Map</i> contains the distribution of the randomSwitch. Each chain is weighted with a
                      percentage. Make sure the sum of weights does not exceed 100.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="randomSwitchOrElse">randomSwitchOrElse</label>
                <input type="checkbox" id="randomSwitchOrElse" name="randomSwitchOrElse">

                <div class="function-details">
                  Current user will continue in one of the specified weighted chains. Can be used to simulate simple
                  Markov
                  chains. Fallback available if no switch is selected
                  <dl>
                    <dt>(Map[%,Chain]){chain}</dt>
                    <dd>The <i>Map</i> contains the distribution of the randomSwitch. Each chain is weighted with a
                      percentage. Make sure the sum of weights does not exceed 100. If no switch is selected then
                      <i>chain</i>
                      is executed.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="uniformRandomSwitch">uniformRandomSwitch</label>
                <input type="checkbox" id="uniformRandomSwitch" name="uniformRandomSwitch">

                <div class="function-details">
                  Current user will continue in one of the uniform distributed chains. Can be used to simulate simple
                  Markov
                  chains
                  <dl>
                    <dt>(chains...)</dt>
                    <dd>The list of <i>chains</i>.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="roundRobinSwitch">roundRobinSwitch</label>
                <input type="checkbox" id="roundRobinSwitch" name="roundRobinSwitch">

                <div class="function-details">
                  A round-robin strategy is used to determine the chain to be executed.
                  <dl>
                    <dt>(chains...)</dt>
                    <dd>The list of <i>chains</i>.</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Base -->

            <div class="base group pull-right col-lg-4 col-md-6 col-xs-12">
              <h3>Base structures</h3>

              <div class="function">
                <label class="function-syntax" for="exec">exec</label>
                <input type="checkbox" id="exec" name="exec">

                <div class="function-details">
                  Execution Step
                  <dl>
                    <dt>(action)</dt>
                    <dd>The <i>action</i> that will be executed at this step.</dd>
                    <dt>(chain...)</dt>
                    <dd>Inserts the <i>chain(s)</i> at this point of the scenario</dd>
                    <dt>(Session => Session)</dt>
                    <dd>Perform an operation upon the session at this step</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="group">group</label>
                <input type="checkbox" id="group" name="group">

                <div class="function-details">
                  Group related requests together
                  <dl>
                    <dt>(groupName){chain}</dt>
                    <dd>Actions from <i>chain</i> are part of the group named <i>groupName</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="pause">pause</label>
                <input type="checkbox" id="pause" name="pause">

                <div class="function-details">
                  Declares a fixed or random pause in the scenario
                  <dl>
                    <dt>(dur unit)</dt>
                    <dd>The pause will last <i>duration</i></dd>
                    <dt>(duration, timeunit)</dt>
                    <dd>Declares a pause <i>duration</i> with a specific <i>timeunit</i></dd>
                    <dt>(dur unit, dur unit)</dt>
                    <dd>Declares a pause duration randomly selected between the two durations</dd>
                    <dt>(duration, duration, timeunit)</dt>
                    <dd>Declares a pause randomly selected between the two durations with a specific time
                      <i>timeunit</i>
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="pace">pace</label>
                <input type="checkbox" id="pace" name="pace">

                <div class="function-details">
                  Pause which adjusts its wait time depending on how long the chained action took
                  <dl>
                    <dt>(dur unit)</dt>
                    <dd>The pause will last <i>duration</i></dd>
                    <dt>(duration, timeunit)</dt>
                    <dd>Declares a pause <i>duration</i> with a specific <i>timeunit</i></dd>
                    <dt>(dur unit, dur unit)</dt>
                    <dd>Declares a pause duration randomly selected between the two durations</dd>
                    <dt>(duration, duration, timeunit)</dt>
                    <dd>Declares a pause randomly selected between the two durations with a specific time
                      <i>timeunit</i>
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="rendezVous">rendezVous</label>
                <input type="checkbox" id="rendezVous" name="rendezVous">

                <div class="function-details">
                  Pauses users until all other users have reached the rendez-vous point
                  <dl>
                    <dt>(userNumber)</dt>
                    <dd>Number of users to wait for</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Loops -->

            <div class="loops group col-lg-4 col-md-6 col-xs-12">
              <h3>Loops</h3>

              <div class="function">
                <label class="function-syntax" for="forever">forever</label>
                <input type="checkbox" id="forever" name="forever">

                <div class="function-details">
                  Repeats a part of the scenario
                  <dl>
                    <dt>(counterName){chain}</dt>
                    <dd>The <i>chain</i> is repeated forever. Forcing the counter name with <i>counterName</i> is
                      optional
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="repeat">repeat</label>
                <input type="checkbox" id="repeat" name="repeat">

                <div class="function-details">
                  Repeats a part of the scenario
                  <dl>
                    <dt>(times){chain}</dt>
                    <dd>The <i>chain</i> is repeated the specified number of <i>times</i></dd>
                    <dt>(times, counterName){chain}</dt>
                    <dd>The <i>chain</i> is repeated the specified number of <i>times</i> with a forced counter name
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="during">during</label>
                <input type="checkbox" id="during" name="during">

                <div class="function-details">
                  Repeats a part of the scenario
                  <dl>
                    <dt>(dur unit){chain}</dt>
                    <dd>The <i>chain</i> is repeated for at least <i>dur unit</i></dd>
                    <dt>(dur unit, counterName){chain}</dt>
                    <dd>Same as above with forced counter name</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="asLongAs">asLongAs</label>
                <input type="checkbox" id="asLongAs" name="asLongAs">

                <div class="function-details">
                  Repeats a part of the scenario
                  <dl>
                    <dt>(condition){chain}</dt>
                    <dd>The <i>chain</i> is repeated as long as the condition is satisfied</dd>
                    <dt>(condition, counterName){chain}</dt>
                    <dd>Same as above with forced counter name</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="foreach">foreach</label>
                <input type="checkbox" id="foreach" name="foreach">

                <div class="function-details">
                  Repeats a part of the scenario
                  <dl>
                    <dt>(sequence, elementName){chain}</dt>
                    <dd>The <i>chain</i> is repeated for every element in the <i>sequence</i> and the current element is
                      stored in the Session under the <i>elementName</i> key
                    </dd>
                    <dt>(sequence, elementName, counterName)</dt>
                    <dd>Same as above with forced counter name</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Failure handling -->

            <div class="failure-handling group col-lg-4 col-md-6 col-xs-12">
              <h3>Failure handling</h3>

              <div class="function">
                <label class="function-syntax" for="tryMax">tryMax</label>
                <input type="checkbox" id="tryMax" name="tryMax">

                <div class="function-details">
                  Retries a chain until it succeeds
                  <dl>
                    <dt>(times){chain}</dt>
                    <dd><i>chain</i> will be repeated until either all checks in it are OK; or the chain has been
                      repeated
                      <i>times</i>
                      times.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="exitBlockOnFail">exitBlockOnFail</label>
                <input type="checkbox" id="exitBlockOnFail" name="exitBlockOnFail">

                <div class="function-details">
                  Stops block execution if a check fails
                  <dl>
                    <dt>{chain}</dt>
                    <dd>If a check in <i>chain</i> fails, its execution is stopped and the scenario continues.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="exitHereIfFailed">exitHereIfFailed</label>
                <input type="checkbox" id="exitHereIfFailed" name="exitHereIfFailed">

                <div class="function-details">
                  If there were an error during execution, the scenario should stop at this point.
                </div>
              </div>
            </div>
          </div>

          <!-- Simulation configuration -->

          <div class="row-fluid">
            <h2>
              Simulation configuration
              <small>Tune your simulation</small>
            </h2>

            <!-- Throttling -->

            <div class="throttling group col-lg-4 col-md-6 col-xs-12">
              <h3>Throttling</h3>

              <div class="function">
                <label class="function-syntax" for="throttle">throttle</label>
                <input type="checkbox" id="throttle" name="throttle">

                <div class="function-details">
                  Allows to reason in terms of request per second and not in terms of users. Can also be defined at the
                  scenario level. Throttle can take one to many building blocks described below.
                  <dl>
                    <dt>(reachRps(target) in (dur unit))</dt>
                    <dd>Target a throughput with a ramp over a given <i>duration</i></dd>
                  </dl>
                  <dl>
                    <dt>(jumpToRps(target))</dt>
                    <dd>Jump immediately to a given targeted throughput</dd>
                  </dl>
                  <dl>
                    <dt>(holdFor(duration))</dt>
                    <dd>Hold the current throughput for a given duration</dd>
                  </dl>
                  Eg: setUp(...).throttle(reachRps(100) in (10 seconds), holdFor(10 minute))
                </div>
              </div>
            </div>

            <!-- Time -->

            <div class="time group col-lg-4 col-md-6 col-xs-12">
              <h3>Time</h3>

              <div class="function">
                <label class="function-syntax" for="pauses">pauses</label>
                <input type="checkbox" id="pauses" name="pauses">

                <div class="function-details">
                  Allows to configure pauses. Can also be defined at the scenario level
                  <dl>
                    <dt>(disablePauses)</dt>
                    <dd>Disable the pauses for the simulation</dd>
                    <dt>(constantPauses)</dt>
                    <dd>Default value. Durations are precisely those filled in the <i>pause(duration)</i> elements.</dd>
                    <dt>(exponentialPauses)</dt>
                    <dd>Pause durations are on average those filled in the <i>pause(duration)</i> elements and follow an
                      exponential distribution.
                    </dd>
                    <dt>(customPauses(pauseDur))</dt>
                    <dd>Pauses durations are computed by the provided <i>pauseDur</i>. In this case the filled duration
                      is
                      bypassed
                    </dd>
                    <dt>(uniformPauses(plusOrMinus))</dt>
                    <dd>Pause durations are on average those filled in the <i>pause(duration)</i> elements and follow an
                      uniform distribution.
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="maxDuration">maxDuration</label>
                <input type="checkbox" id="maxDuration" name="maxDuration">

                <div class="function-details">
                  Allows to configure the maximum duration of your simulation

                  <dl>
                    <dt>(maxDuration)</dt>
                    <dd>The maximum duration of the simulation</dd>
                  </dl>
                </div>
              </div>
            </div>

          </div>

          <!-- Feeders -->

          <div class="row-fluid">
            <h2>
              Feeder definition
              <small>Inject data in your scenario</small>
            </h2>

            <!-- Feeder types -->

            <div class="feeder-types group col-lg-4 col-md-6 col-xs-12">
              <h3>Feeder types</h3>

              <div class="function">
                <label class="function-syntax" for="csv">csv</label>
                <input type="checkbox" id="csv" name="csv">

                <div class="function-details">
                  Declares a feeder from a CSV file
                  <dl>
                    <dt>(fileName)</dt>
                    <dd><i>fileName</i> is the name of the file under the <i>data</i> folder containing the comma
                      separated
                      values to be injected
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="tsv">tsv</label>
                <input type="checkbox" id="tsv" name="tsv">

                <div class="function-details">
                  Declares a feeder from a TSV file
                  <dl>
                    <dt>(fileName)</dt>
                    <dd><i>fileName</i> is the name of the file under the <i>data</i> folder containing the tabulation
                      separated values to be injected
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="ssv">ssv</label>
                <input type="checkbox" id="ssv" name="ssv">

                <div class="function-details">
                  Declares a feeder from a SSV file
                  <dl>
                    <dt>(fileName)</dt>
                    <dd><i>fileName</i> is the name of the file under the <i>data</i> folder containing the semi-colon
                      separated values to be injected
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jsonFile">jsonFile</label>
                <input type="checkbox" id="jsonFile" name="jsonFile">

                <div class="function-details">
                  Declares a feeder from a JSON file
                  <dl>
                    <dt>(fileName)</dt>
                    <dd><i>fileName</i> is the name of the file under the <i>data</i> folder containing JSON file to be
                      injected
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jsonUrl">jsonUrl</label>
                <input type="checkbox" id="jsonUrl" name="jsonUrl">

                <div class="function-details">
                  Declares a feeder from a JSON url
                  <dl>
                    <dt>(url)</dt>
                    <dd><i>url</i> is the url returning the JSON array to be injected</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jdbcFeeder">jdbcFeeder</label>
                <input type="checkbox" id="jdbcFeeder" name="jdbcFeeder">

                <div class="function-details">
                  Declares a feeder from database records
                  <dl>
                    <dt>(dbURL,user,pass,sql)</dt>
                    <dd>The feeder will load its values thanks to the <i>sql</i> request made on the database located at
                      the
                      JDBC URL <i>dbURL</i> as <i>user</i>/<i>pass</i>.<br>Note that you need to include the right JDBC4
                      driver in the classpath (lib folder if using the bundle)
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="redisFeeder">redisFeeder</label>
                <input type="checkbox" id="redisFeeder" name="redisFeeder">

                <div class="function-details">
                  <dl>
                    <dt>(pool, key)</dt>
                    <dd>This feeder loads its values from a Redis <i>pool</i> and stores them under <i>key</i> in the
                      session.
                    </dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Feeder strategies -->

            <div class="feeder-strategies group col-lg-4 col-md-6 col-xs-12">
              <h3>Feeder strategies</h3>

              <div class="function">
                <label class="function-syntax" for="queue1">queue</label>
                <input type="checkbox" id="queue1" name="queue">

                <div class="function-details">
                  This is the default strategy (you don't have to specify it). It takes the values in the feeder as in a
                  queue. If the queue is not long enough, you'll get an error at execution.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="shuffle">shuffle</label>
                <input type="checkbox" id="shuffle" name="shuffle">

                <div class="function-details">
                  This strategy shuffles the values in the feeder but then works like the <i>queue</i> strategy.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="random">random</label>
                <input type="checkbox" id="random" name="random">

                <div class="function-details">
                  This strategy chooses values randomly in the feeder. In contrast to a <i>shuffle</i> strategy
                  the same values can be chosen several times.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="circular">circular</label>
                <input type="checkbox" id="circular" name="circular">

                <div class="function-details">
                  This strategy takes the values of the feeder in their order, and when it reaches the last, it returns
                  to
                  the
                  first one.
                </div>
              </div>
            </div>
          </div>

          <!-- Injection profile -->

          <div class="row-fluid">
            <h2>
              Injection profile
              <small>Control how users are injected in your scenario</small>
            </h2>

            <!-- Scenario options (1/2) -->

            <div class="scenario-options group part-of col-lg-4 col-md-6 col-xs-12">
              <h3>Injection steps</h3>

              <div class="function">
                <label class="function-syntax" for="nothingFor">nothingFor</label>
                <input type="checkbox" id="nothingFor" name="nothingFor">

                <div class="function-details">
                  Pauses for a specific duration
                  <dl>
                    <dt>(dur unit)</dt>
                    <dd>Pause for a given <i>duration</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="atOnceUsers">atOnceUsers</label>
                <input type="checkbox" id="atOnceUsers" name="atOnceUsers">

                <div class="function-details">
                  Injects a specific number of users at the same time
                  <dl>
                    <dt>(nbUsers)</dt>
                    <dd>Injects <i>nbUsers</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="rampUsers">rampUsers</label>
                <input type="checkbox" id="rampUsers" name="rampUsers">

                <div class="function-details">
                  Injects a given number of users with a linear ramp over a given duration
                  <dl>
                    <dt>(nbUsers) over(dur unit)</dt>
                    <dd>Injects <i>nbUsers</i> over a <i>duration</i>. Eg : rampUsers(10) over(5 seconds)</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Scenario options (2/2) -->

            <div class="scenario-options group col-lg-4 col-md-6 col-xs-12">
              <h3 class="visible-lg visible-md">&nbsp;</h3>

              <div class="function">
                <label class="function-syntax" for="constantUsersPerSec">constantUsersPerSec</label>
                <input type="checkbox" id="constantUsersPerSec" name="constantUsersPerSec">

                <div class="function-details">
                  Injects users at a constant rate, defined in users per second, during a given duration
                  <dl>
                    <dt>(nbUsers) during(dur unit)</dt>
                    <dd>Injects <i>nbUsers</i> each second for <i>duration</i>. Eg : constantUsersPerSec(10) during(5
                      seconds)
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="rampUsersPerSec">rampUsersPerSec</label>
                <input type="checkbox" id="rampUsersPerSec" name="rampUsersPerSec">

                <div class="function-details">
                  Injects a random number of users per second over a given duration
                  <dl>
                    <dt>(rate1) to (rate2) during(dur unit)</dt>
                    <dd>Injects users from starting <i>rate1</i> to target <i>rate2</i>, defined in users per second,
                      during
                      a
                      given <i>duration</i>. Eg : rampUsersPerSec(10) to(20) during(10 minutes)
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="splitUsers">splitUsers</label>
                <input type="checkbox" id="splitUsers" name="splitUsers">

                <div class="function-details">
                  Repeats an injection until reaching desired number of users
                  <dl>
                    <dt>(nbUsers) into(injectionStep) separatedBy(dur unit)</dt>
                    <dd>Repeats the defined <i>injection step</i> separated by a pause of the given <i>duration</i>
                      until
                      reaching <i>nbUsers</i>
                    <dt>(nbUsers) into(injectionStep1) separatedBy(injectionStep2)</dt>
                    <dd>Repeats the first defined injection step <i>injectionStep1</i> separated by the execution of the
                      second injection step <i>injectionStep2</i> until reaching <i>nbUsers</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="heavisideUsers">heavisideUsers</label>
                <input type="checkbox" id="heavisideUsers" name="heavisideUsers">

                <div class="function-details">
                  Injects a given number of users following a smooth approximation stretched to a duration
                  <dl>
                    <dt>(nbUsers) over(dur unit)</dt>
                    <dd>Injects a given number of users following a smooth approximation of the Heaviside step function
                      stretched to a given <i>duration</i></dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- Assertions -->

          <div class="row-fluid">
            <h2>
              Assertions
              <small>Check that your results match your expectations</small>
            </h2>

            <!-- Assertion -->

            <div class="assertion group col-lg-4 col-md-6 col-xs-12">
              <h3>Assertions</h3>

              <div class="function">
                <label class="function-syntax" for="assertions">assertions</label>
                <input type="checkbox" id="assertions" name="assertions">

                <div class="function-details">
                  Declare the assertions on your simulation
                  <dl>
                    <dt>(assertions)</dt>
                    <dd>The assertions your simulation will be checked against</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Scopes -->

            <div class="scopes group col-lg-4 col-md-6 col-xs-12">
              <h3>Scopes</h3>

              <div class="function">
                <label class="function-syntax" for="global">global</label>
                <input type="checkbox" id="global" name="global">

                <div class="function-details">
                  Use statistics calculated from all requests
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="forAll">forAll</label>
                <input type="checkbox" id="forAll" name="forAll">

                <div class="function-details">
                  Use statistics calculated for each individual request.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="details">details</label>
                <input type="checkbox" id="details" name="details">

                <div class="function-details">
                  Use statistics calculated from a group or a request
                  <dl>
                    <dt>(path)</dt>
                    <dd>The request or group path</dd>
                  </dl>
                </div>
              </div>
            </div>

            <div class="statistics group col-lg-4 col-md-6 col-xs-12">
              <h3>Statistics</h3>

              <div class="function">
                <label class="function-syntax" for="responseTime">responseTime</label>
                <input type="checkbox" id="responseTime" name="responseTime">

                <div class="function-details">
                  Target the response time in milliseconds
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="allRequests">allRequests</label>
                <input type="checkbox" id="allRequests" name="allRequests">

                <div class="function-details">
                  Target the number of requests
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="failedRequests">failedRequests</label>
                <input type="checkbox" id="failedRequests" name="failedRequests">

                <div class="function-details">
                  Target the number of failed requests
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="successfulRequests">successfulRequests</label>
                <input type="checkbox" id="successfulRequests" name="successfulRequests">

                <div class="function-details">
                  Target the number of successful requests
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="requestsPerSec">requestsPerSec</label>
                <input type="checkbox" id="requestsPerSec" name="requestsPerSec">

                <div class="function-details">
                  Target the rate of requests per second
                </div>
              </div>
            </div>

            <!-- Response time selectors -->

            <div class="response-time-selectors group col-lg-4 col-md-6 col-xs-12">
              <h3>Response time selectors</h3>

              <div class="function">
                <label class="function-syntax" for="min">min</label>
                <input type="checkbox" id="min" name="min">

                <div class="function-details">
                  Perform the assertion on the minimum of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="max">max</label>
                <input type="checkbox" id="max" name="max">

                <div class="function-details">
                  Perform the assertion on the maximum of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="mean">mean</label>
                <input type="checkbox" id="mean" name="mean">

                <div class="function-details">
                  Perform the assertion on the mean of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="stdDev">stdDev</label>
                <input type="checkbox" id="stdDev" name="stdDev">

                <div class="function-details">
                  Perform the assertion on the standard deviation of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="percentile1">percentile1</label>
                <input type="checkbox" id="percentile1" name="percentile1">

                <div class="function-details">
                  Perform the assertion on the first percentile of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="percentile2">percentile2</label>
                <input type="checkbox" id="percentile2" name="percentile2">

                <div class="function-details">
                  Perform the assertion on the second percentile of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="percentile3">percentile3</label>
                <input type="checkbox" id="percentile3" name="percentile3">

                <div class="function-details">
                  Perform the assertion on the third percentile of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="percentile4">percentile4</label>
                <input type="checkbox" id="percentile4" name="percentile4">

                <div class="function-details">
                  Perform the assertion on the fourth percentile of the stat
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="percentile">percentile</label>
                <input type="checkbox" id="percentile" name="percentile">

                <div class="function-details">
                  Perform the assertion on the given percentile of the stat
                  <dl>
                    <dt>(value)</dt>
                    <dd>The double value of percentile rank, between 0 and 100</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Count selectors -->

            <div class="count-selectors group col-lg-4 col-md-6 col-xs-12">
              <h3>Count selectors</h3>

              <div class="function">
                <label class="function-syntax" for="percent">percent</label>
                <input type="checkbox" id="percent" name="percent">

                <div class="function-details">
                  Use the value as a percentage between 0 and 100
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="permillion">permillion</label>
                <input type="checkbox" id="permillion" name="permillion">

                <div class="function-details">
                  Use the value as a permillion between 0 and 1,000,000
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="count2">count</label>
                <input type="checkbox" id="count2" name="count">

                <div class="function-details">
                  Perform the assertion on the count of requests
                </div>
              </div>
            </div>

            <!-- Assertions conditions -->

            <div class="assertions-conditions group col-lg-4 col-md-6 col-xs-12">
              <h3>Assertions conditions</h3>

              <div class="function">
                <label class="function-syntax" for="lt">lt</label>
                <input type="checkbox" id="lt" name="lt">

                <div class="function-details">
                  Check that the value of the statistic is less than the threshold
                  <dl>
                    <dt>(threshold)</dt>
                    <dd>the statistic's higher bound</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="lte">lte</label>
                <input type="checkbox" id="lte" name="lte">

                <div class="function-details">
                  Check that the value of the statistic is less than or equal to the threshold
                  <dl>
                    <dt>(threshold)</dt>
                    <dd>the statistic's higher bound</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="gt">gt</label>
                <input type="checkbox" id="gt" name="gt">

                <div class="function-details">
                  Check that the value of the statistic is greater than the threshold
                  <dl>
                    <dt>(threshold)</dt>
                    <dd>the statistic's lower bound</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="gte">gte</label>
                <input type="checkbox" id="gte" name="gte">

                <div class="function-details">
                  Check that the value of the statistic is greater than or equal to the threshold
                  <dl>
                    <dt>(threshold)</dt>
                    <dd>the statistic's lower bound</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="between">between</label>
                <input type="checkbox" id="between" name="between">

                <div class="function-details">
                  Check that the value of the statistic is between two thresholds
                  <dl>
                    <dt>(thresholdMin,thresholdMax)</dt>
                    <dd>the statistic's bounds</dd>
                    <dt>(thresholdMin,thresholdMax, inclusive = false)</dt>
                    <dd>the statistic's bounds, excluded</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="is2">is</label>
                <input type="checkbox" id="is2" name="is">

                <div class="function-details">
                  Check that the value of the statistic is equal to the given value
                  <dl>
                    <dt>(value)</dt>
                    <dd>the <i>value</i> the statistic must be equal to</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="in2">in</label>
                <input type="checkbox" id="in2" name="in">

                <div class="function-details">
                  Check that the value of statistic is in a sequence
                  <dl>
                    <dt>(sequence)</dt>
                    <dd>the <i>sequence</i> the statistic has to be in</dd>
                  </dl>
                </div>
              </div>

            </div>
          </div>

          <!-- HTTP action -->

          <div class="row-fluid">
            <h2>
              HTTP Action
              <small>Define the HTTP requests sent in your scenario</small>
            </h2>

            <!-- Base -->

            <div class="http group col-lg-4 col-md-6 col-xs-12">
              <h3>HTTP</h3>

              <div class="function">
                <label class="function-syntax" for="http1">http</label>
                <input type="checkbox" id="http1" name="http">

                <div class="function-details">
                  Declares an HTTP request
                  <dl>
                    <dt>(name)</dt>
                    <dd><i>name</i> is the request name in the reports</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- HTTP verb -->

            <div class="http-verb group col-lg-4 col-md-6 col-xs-12">
              <h3>HTTP verb</h3>

              <div class="function">
                <label class="function-syntax" for="get">get</label>
                <input type="checkbox" id="get" name="get">

                <div class="function-details">
                  Sets the HTTP method to GET
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="post">post</label>
                <input type="checkbox" id="post" name="post">

                <div class="function-details">
                  Sets the HTTP method to POST
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="put">put</label>
                <input type="checkbox" id="put" name="put">

                <div class="function-details">
                  Sets the HTTP method to PUT
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="delete">delete</label>
                <input type="checkbox" id="delete" name="delete">

                <div class="function-details">
                  Sets the HTTP method to DELETE
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="head">head</label>
                <input type="checkbox" id="head" name="head">

                <div class="function-details">
                  Sets the HTTP method to HEAD
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="patch">patch</label>
                <input type="checkbox" id="patch" name="patch">

                <div class="function-details">
                  Sets the HTTP method to PATCH
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="options">options</label>
                <input type="checkbox" id="options" name="options">

                <div class="function-details">
                  Sets the HTTP method to OPTIONS
                  <dl>
                    <dt>(url)</dt>
                    <dd>Sets the <i>url</i> of the HTTP request</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="httpRequest">httpRequest</label>
                <input type="checkbox" id="httpRequest" name="httpRequest">

                <div class="function-details">
                  Support for custom HTTP methods
                  <dl>
                    <dt>(method, url)</dt>
                    <dd>Executes <i>method</i> on <i>url</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="httpRequestWithParams">httpRequestWithParams</label>
                <input type="checkbox" id="httpRequestWithParams" name="httpRequestWithParams">

                <div class="function-details">
                  Support for custom methods extending POST
                  <dl>
                    <dt>(method, url)</dt>
                    <dd>Executes <i>method</i> on <i>url</i></dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- HTTP options -->

            <div class="http-opts group pull-right col-lg-4 col-md-6 col-xs-12">
              <h3>HTTP options</h3>

              <div class="function">
                <label class="function-syntax" for="queryParam">queryParam</label>
                <input type="checkbox" id="queryParam" name="queryParam">

                <div class="function-details">
                  Adds a query parameter to the URL
                  <dl>
                    <dt>(key, value)</dt>
                    <dd>http://example.tld?key=value</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="multivaluedQueryParam">multivaluedQueryParam</label>
                <input type="checkbox" id="multivaluedQueryParam" name="multivaluedQueryParam">

                <div class="function-details">
                  Adds a query parameter to the URL with multiple values
                  <dl>
                    <dt>(key, value...)</dt>
                    <dd>http://example.tld?key=value1&key=value2&key=value3...</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="queryParamsSeq">queryParamsSeq</label>
                <input type="checkbox" id="queryParamsSeq" name="queryParamsSeq">

                <div class="function-details">
                  Adds multiple query parameters to the URL
                  <dl>
                    <dt>((key, value)...)</dt>
                    <dd>http://example.tld?key1=value1&key2=value2&key3=value3...</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="queryParamsMap">queryParamsMap</label>
                <input type="checkbox" id="queryParamsMap" name="queryParamsMap">

                <div class="function-details">
                  Adds multiple query parameters to the URL
                  <dl>
                    <dt>(Map[key -> value])</dt>
                    <dd>http://example.tld?key1=value1&key2=value2&key3=value3...</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="header1">header</label>
                <input type="checkbox" id="header1" name="header">

                <div class="function-details">
                  Adds a header to the request.
                  <dl>
                    <dt>(key, value)</dt>
                    <dd>Adds <i>key: value</i> as header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="headers">headers</label>
                <input type="checkbox" id="headers" name="headers">

                <div class="function-details">
                  Adds several headers to the request.
                  <dl>
                    <dt>(Map[key, value])</dt>
                    <dd>Adds every tuple <i>key: value</i> of the map as header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="basicAuth">basicAuth</label>
                <input type="checkbox" id="basicAuth" name="basicAuth">

                <div class="function-details">
                  Sets the credentials for BASIC authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="digestAuth">digestAuth</label>
                <input type="checkbox" id="digestAuth" name="digestAuth">

                <div class="function-details">
                  Sets the credentials for DIGEST authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="ntlmAuth">ntlmAuth</label>
                <input type="checkbox" id="ntlmAuth" name="ntlmAuth">

                <div class="function-details">
                  Sets the credentials for NTLM authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="authRealm">authRealm</label>
                <input type="checkbox" id="authRealm" name="authRealm">

                <div class="function-details">
                  Generic method to add authentication
                  <dl>
                    <dt>(Realm)</dt>
                    <dd>Takes a <i>Realm</i> instance</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="resources">resources</label>
                <input type="checkbox" id="resources" name="resources">

                <div class="function-details">
                  Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser
                  <dl>
                    <dt>(request...)</dt>
                    <dd>Multiple requests to get resources</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="disableUrlEncoding">disableUrlEncoding</label>
                <input type="checkbox" id="disableUrlEncoding" name="disableUrlEncoding">

                <div class="function-details">
                  Disable URLEncoding if you're sure the urls you feed to Gatling are already properly encoded.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="silent">silent</label>
                <input type="checkbox" id="silent" name="silent">

                <div class="function-details">
                  Forces the request to be silent
                  A silent request is issued but not logged nor reported
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="notSilent">notSilent</label>
                <input type="checkbox" id="notSilent" name="notSilent">

                <div class="function-details">
                  Forces the request to NOT be silent, whatever's defined at protocol level.
                  A silent request is issued but not logged nor reported
                </div>
              </div>
            </div>

            <!-- HTTP body -->

            <div class="http-body group pull-right col-lg-4 col-md-6 col-xs-12">
              <h3>HTTP body</h3>

              <div class="function">
                <label class="function-syntax" for="body">body</label>
                <input type="checkbox" id="body" name="body">

                <div class="function-details">
                  Adds a body from a resource to the request
                  <dl>
                    <dt>(RawFileBody(path))</dt>
                    <dd>Uploads a file as is from the <i>path</i></dd>
                    <dt>(ELFileBody(path))</dt>
                    <dd>Parses, resolves and then uploads a file containing Gatling EL from the <i>path</i></dd>
                    <dt>(StringBody(string))</dt>
                    <dd>Sets a string</dd>
                    <dt>(ByteArrayBody(bytes))</dt>
                    <dd>Sets the body from a bytes array</dd>
                    <dt>(InputStreamBody(stream))</dt>
                    <dd>Sets the body from an input stream</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="bodyPart">bodyPart</label>
                <input type="checkbox" id="bodyPart" name="bodyPart">

                <div class="function-details">
                  Add a multi-part body from a resource to the request
                  <dl>
                    <dt>(RawFileBodyPart(path))</dt>
                    <dd>Uploads a file as is from the <i>path</i></dd>
                    <dt>(ELFileBodyPart(path))</dt>
                    <dd>Parses, resolves and then uploads a file containing Gatling EL from the <i>path</i></dd>
                    <dt>(StringBodyPart(string))</dt>
                    <dd>Sets a string</dd>
                    <dt>(ByteArrayBodyPart(bytes))</dt>
                    <dd>Sets the body from a bytes array</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="formParam">formParam</label>
                <input type="checkbox" id="formParam" name="formParam">

                <div class="function-details">
                  Adds a form parameter to the request body
                  <dl>
                    <dt>(key, value)</dt>
                    <dd>Where <i>key</i> is the name and <i>value</i> is a string</dd>
                    <dt>(HttpParam)</dt>
                    <dd>Where HttpParam is an instance of HttpParam</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="multivaluedFormParam">multivaluedFormParam</label>
                <input type="checkbox" id="multivaluedFormParam" name="multivaluedFormParam">

                <div class="function-details">
                  Adds a form parameter to the request body with multiple values
                  <dl>
                    <dt>(key, value...)</dt>
                    <dd>Where <i>key</i> is the name of one parameter and <i>value</i> can be a list</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="formParamSeq">formParamSeq</label>
                <input type="checkbox" id="formParamSeq" name="formParamSeq">

                <div class="function-details">
                  Adds multiple form parameters to the request body
                  <dl>
                    <dt>((key, value)...)</dt>
                    <dd>Where you can have multiple tuples of <i>key</i> and <i>value</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="formParamMap">formParamMap</label>
                <input type="checkbox" id="formParamMap" name="formParamMap">

                <div class="function-details">
                  Adds multiple form parameters to the request body
                  <dl>
                    <dt>(Map[key -> value])</dt>
                    <dd>Where you can have a map of multiple <i>key</i> and <i>value</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="form">form</label>
                <input type="checkbox" id="form" name="form">

                <div class="function-details">
                  Adds a form to the request body
                  <dl>
                    <dt>(Map[key -> Seq[value]])</dt>
                    <dd>Typically saved by a form check</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="transformResponse">transformResponse</label>
                <input type="checkbox" id="transformResponse" name="transformResponse">

                <div class="function-details">
                  Allows to process the response before it is sent to the checks pipeline.
                  <dl>
                    <dt>(ResponseTransformer)</dt>
                    <dd>Takes a <i>ResponseTransformer</i>, which is a Response => Response function</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="processRequestBody">processRequestBody</label>
                <input type="checkbox" id="processRequestBody" name="processRequestBody">

                <div class="function-details">
                  Allows to process the request body before it is sent to the wire
                  <dl>
                    <dt>(processor)</dt>
                    <dd>Takes a <i>processor</i> which is a Body => Body function</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="formUpload">formUpload</label>
                <input type="checkbox" id="formUpload" name="formUpload">

                <div class="function-details">
                  Provides a multi-part encoded request when you need to upload a file corresponding to a form text
                  value.
                  Eg:
                  Email attachment
                  <dl>
                    <dt>(key, filePath)</dt>
                    <dd>Where <i>key</i> is the name of the field and <i>filePath</i> a path to a file located in
                      /bodies
                    </dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- HTTP checks -->

          <div class="row-fluid">
            <h2>
              HTTP Checks
              <small>Verifying server responses</small>
            </h2>

            <div class="row-fluid">

              <!-- Check -->

              <div class="check group col-lg-4 col-md-6 col-xs-12">
                <h3>Check</h3>

                <div class="function">
                  <label class="function-syntax" for="check">check</label>
                  <input type="checkbox" id="check" name="check">

                  <div class="function-details">
                    Declare every check that should apply on the action
                    <dl>
                      <dt>(check...)</dt>
                      <dd>Every check you need to make on the response from the server</dd>
                    </dl>
                  </div>
                </div>
              </div>

              <!-- HTTP checks (2/2) -->

              <div class="http-checks group col-lg-4 col-md-6 col-xs-12 pull-right">
                <h3 class="visible-lg visible-md">&nbsp;</h3>

                <div class="function">
                  <label class="function-syntax" for="substring">substring</label>
                  <input type="checkbox" id="substring" name="substring">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>Extraction will look for <i>expression</i> indices.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="regex1">regex</label>
                  <input type="checkbox" id="regex1" name="regex">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>Extraction will use a regular expression defined by <i>expression</i>.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="xpath1">xpath</label>
                  <input type="checkbox" id="xpath1" name="xpath">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>Extraction will use an XPath expression defined by <i>expression</i></dd>
                      <dt>(expression, namespaces)</dt>
                      <dd>If you want to use namespaces in your XPATH expression, you should specify them. The
                        <i>namespaces</i>
                        are specified thanks to a List[(prefix,uri)]:<br>List(('c','http://core'),
                        ('f','http://format')).
                      </dd>
                      <dt>(Session => String)</dt>
                      <dd>The expression can be expressed as a <i>Session => String</i> function (with namespaces also)
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="jsonPath1">jsonPath</label>
                  <input type="checkbox" id="jsonPath1" name="jsonPath">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>jsonPath is similar to XPATH, but for JSON encoded data.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="jsonpJsonPath1">jsonpJsonPath</label>
                  <input type="checkbox" id="jsonpJsonPath1" name="jsonpJsonPath">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>jsonpJsonPath is similar to jsonPath, but for JSONP</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="css">css</label>
                  <input type="checkbox" id="css" name="css">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>Uses the <i>css</i> selector to extract the value to be checked.</dd>
                      <dt>(expression, attr)</dt>
                      <dd>Same as above, except that the extracted value is the <i>attr</i> of the selected node.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="cssForm">form</label>
                  <input type="checkbox" id="cssForm" name="cssForm">

                  <div class="function-details">
                    Check will be applied to an extract of the HTTP response's body
                    <dl>
                      <dt>(expression)</dt>
                      <dd>Uses the <i>css</i> selector to extract the all the field values of an HTML form.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="md5">md5</label>
                  <input type="checkbox" id="md5" name="md5">

                  <div class="function-details">
                    Check will be applied on the md5 checksum of the HTTP response
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="sha1">sha1</label>
                  <input type="checkbox" id="sha1" name="sha1">

                  <div class="function-details">
                    Check will be applied on the sha1 checksum of the HTTP response
                  </div>
                </div>
              </div>

              <!-- HTTP checks (1/2) -->

              <div class="http-checks group col-lg-4 col-md-6 col-xs-12 pull-right">
                <h3>Http checks</h3>

                <div class="function">
                  <label class="function-syntax" for="status">status</label>
                  <input type="checkbox" id="status" name="status">

                  <div class="function-details">
                    Check will be applied to the status of the HTTP response
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="currentLocation">currentLocation</label>
                  <input type="checkbox" id="currentLocation" name="currentLocation">

                  <div class="function-details">
                    Check will be applied to the current url of the response
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="header2">header</label>
                  <input type="checkbox" id="header2" name="header">

                  <div class="function-details">
                    Check will be applied to selected headers of the HTTP response
                    <dl>
                      <dt>(headerName)</dt>
                      <dd>The check will be applied on the header corresponding to <i>headerName</i></dd>
                      <dt>(Session => String)</dt>
                      <dd>Same as above, except that the header name is given by the <i>Session => String</i> function.
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="headerRegex">headerRegex</label>
                  <input type="checkbox" id="headerRegex" name="headerRegex">

                  <div class="function-details">
                    Check will be applied to selected headers of the HTTP response
                    <dl>
                      <dt>(headerName, pattern)</dt>
                      <dd>The check will be applied on the headers <i>headerName</i> whose value match the provided
                        <i>pattern</i>.
                      </dd>
                      <dt>(Session => String)</dt>
                      <dd>Same as above, except that the header name is given by the <i>Session => String</i> function.
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="responseTimeInMillis">responseTimeInMillis</label>
                  <input type="checkbox" id="responseTimeInMillis" name="responseTimeInMillis">

                  <div class="function-details">
                    Check will be applied to the response time of the server
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="latencyInMillis">latencyInMillis</label>
                  <input type="checkbox" id="latencyInMillis" name="latencyInMillis">

                  <div class="function-details">
                    Check will be applied to the latency of the request/response round trip
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="bodyString">bodyString</label>
                  <input type="checkbox" id="bodyString" name="bodyString">

                  <div class="function-details">
                    Return the full response body String.
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="bodyBytes">bodyBytes</label>
                  <input type="checkbox" id="bodyBytes" name="bodyBytes">

                  <div class="function-details">
                    Return the full response body byte array.
                  </div>
                </div>
              </div>

              <!-- Check If -->

              <div class="check group col-lg-4 col-md-6 col-xs-12">
                <h3>CheckIf</h3>

                <div class="function">
                  <label class="function-syntax" for="checkIf">checkIf</label>
                  <input type="checkbox" id="checkIf" name="checkIf">

                  <div class="function-details">
                    Enslave check execution to a condition
                    <dl>
                      <dt>checkIf(condition: Expression[Boolean])(thenCheck: Check)</dt>
                      <dd>Only perform <i>thenCheck</i> if <i>condition</i> evaluates to <i>true</i></dd>
                      <dt>checkIf(condition: (Response, Session) => Validation[Boolean])(thenCheck: Check)</dt>
                      <dd>Only perform <i>thenCheck</i> if <i>condition</i> return <i>true</i></dd>
                    </dl>
                  </div>
                </div>
              </div>
            </div>

            <div class="row-fluid">

              <!-- Check extractors -->

              <div class="check-extractors group col-lg-4 col-md-6 col-xs-12">
                <h3>Check extractors</h3>

                <div class="function">
                  <label class="function-syntax" for="find">find</label>
                  <input type="checkbox" id="find" name="find">

                  <div class="function-details">
                    Specifies that only one value matching the check definition must be extracted
                    <dl>
                      <dt>&oslash;</dt>
                      <dd>If used as <i>find</i> check will be applied on the first value found. Note that this is the
                        default
                        behaviour, you don't have to specify it.
                      </dd>
                      <dt>(occurrence)</dt>
                      <dd>Gets the <i>occurrence</i>-th value that matches the check definition.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="findAll">findAll</label>
                  <input type="checkbox" id="findAll" name="findAll">

                  <div class="function-details">
                    Specifies that every value matching the check definition should be extracted for verification. The
                    resulting
                    type is a list of extracted values.
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="findRandom">findRandom</label>
                  <input type="checkbox" id="findRandom" name="findRandom">

                  <div class="function-details">
                    Fetches random matches.
                    <dl>
                      <dt>&oslash;</dt>
                      <dd>If used as <i>findRandom</i> fetches one single match, returns a single value.</dd>
                      <dt>(num: Int)</dt>
                      <dd>Fetches a given number of occurrences, returns a Seq.</dd>
                      <dt>(num: Int, failIfLess: Boolean)</dt>
                      <dd>Same as above, but fails if the number of actual matches is less than num.</dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="count1">count</label>
                  <input type="checkbox" id="count1" name="count">

                  <div class="function-details">
                    The check will be applied on the size of the list returned by findall
                  </div>
                </div>
              </div>

              <!-- Check transformer -->

              <div class="check-transformer group col-lg-4 col-md-6 col-xs-12">
                <h3>Check transformer</h3>

                <div class="function">
                  <label class="function-syntax" for="transform">transform</label>
                  <input type="checkbox" id="transform" name="transform">

                  <div class="function-details">
                    Used to transform data before verification
                    <dl>
                      <dt>(A => B)</dt>
                      <dd>This function is optional. It can be useful sometimes to apply a transformation on the
                        extracted
                        values before validating them. In this function, type <i>A</i> is the type of the find operation
                        (either
                        <i>String</i>, <i>List[String]</i> or <i>Int</i>). Type B is whatever you want it to be (could
                        be
                        a
                        case
                        class for example)
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="transformOption">transformOption</label>
                  <input type="checkbox" id="transformOption" name="transformOption">

                  <div class="function-details">
                    Used to transform data before verification
                    <dl>
                      <dt>(Option[A] => Validation[Option[B]])</dt>
                      <dd>Gives full control over the extracted result, even providing a default value</dd>
                    </dl>
                  </div>
                </div>

              </div>

              <!-- Check verifiers -->

              <div class="check-verifiers group col-lg-4 col-md-6 col-xs-12">
                <h3>Check verifiers</h3>

                <div class="function">
                  <label class="function-syntax" for="is1">is</label>
                  <input type="checkbox" id="is1" name="is">

                  <div class="function-details">
                    Checks for equality
                    <dl>
                      <dt>(expected)</dt>
                      <dd>if the captured (or transformed) value is equal to <i>expected</i> the check will succeed; it
                        will
                        fail otherwise
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="not">not</label>
                  <input type="checkbox" id="not" name="not">

                  <div class="function-details">
                    Checks for inequality
                    <dl>
                      <dt>(expected)</dt>
                      <dd>If the captured (or transformed) value is different than <i>expected</i> the check will
                        succeed;
                        it
                        will fail otherwise
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="exists">exists</label>
                  <input type="checkbox" id="exists" name="exists">

                  <div class="function-details">
                    Checks that there's at least one value corresponding to the check definition .This is the default
                    verification (it does not need to be specified)
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="notExists">notExists</label>
                  <input type="checkbox" id="notExists" name="notExists">

                  <div class="function-details">
                    Checks that there are no values corresponding to the check definition
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="in1">in</label>
                  <input type="checkbox" id="in1" name="in">

                  <div class="function-details">
                    Checks for belonging to a sequence
                    <dl>
                      <dt>(sequence)</dt>
                      <dd>If the captured (or transformed) value is included in the <i>sequence</i> the check will
                        succeed;
                        it
                        will fail otherwise
                      </dd>
                    </dl>
                  </div>
                </div>

                <div class="function">
                  <label class="function-syntax" for="optional">optional</label>
                  <input type="checkbox" id="optional" name="optional">

                  <div class="function-details">
                    Never fails, used to capture optional values into the session
                  </div>
                </div>
              </div>

              <!-- Check saver -->

              <div class="check-saver group col-lg-4 col-md-6 col-xs-12">
                <h3>Check saver</h3>

                <div class="function">
                  <label class="function-syntax" for="saveAs">saveAs</label>
                  <input type="checkbox" id="saveAs" name="saveAs">

                  <div class="function-details">
                    If the check succeeds, it captures the extracted value(s) into the session
                    <dl>
                      <dt>(key)</dt>
                      <dd>The value(s) will be stored in the session under key <i>key</i></dd>
                    </dl>
                  </div>
                </div>
              </div>
            </div>
          </div>

          <!-- HTTP Protocol -->

          <div class="row-fluid">
            <h2>
              HTTP Protocol
              <small>Mutualize your scenario's code and tune the behaviour of Gatling's HTTP client</small>
            </h2>

            <!-- HTTP Protocol -->

            <div class="http-config group col-lg-4 col-md-6 col-xs-12">
              <h3>Protocol</h3>

              <div class="function">
                <label class="function-syntax" for="http2">http</label>
                <input type="checkbox" id="http2" name="http">

                <div class="function-details">
                  Entry point of your HTTP protocol
                </div>
              </div>
            </div>

            <!-- Urls -->

            <div class="urls group col-lg-4 col-md-6 col-xs-12">
              <h3>Urls</h3>

              <div class="function">
                <label class="function-syntax" for="baseURL">baseURL</label>
                <input type="checkbox" id="baseURL" name="baseURL">

                <div class="function-details">
                  Sets the base URL of all relative URLs of the scenario on which the configuration is applied
                  <dl>
                    <dt>(url)</dt>
                    <dd>The <i>url</i> that will be appended to all relative URLs (ie: not starting with http)</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="baseURLs">baseURLs</label>
                <input type="checkbox" id="baseURLs" name="baseURLs">

                <div class="function-details">
                  Same as <i>baseURL</i> with client-based load balancing.
                  <dl>
                    <dt>(url...)</dt>
                    <dd>Each <i>url</i> will be used randomly to implement client load-balancing.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="virtualHost">virtualHost</label>
                <input type="checkbox" id="virtualHost" name="virtualHost">

                <div class="function-details">
                  Overrides the default computed virtual host
                  <dl>
                    <dt>(name)</dt>
                    <dd>Eg: GET https://mobile.github.com/gatling/gatling instead of GET
                      https://www.github.com/gatling/gatling
                    </dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Proxy -->

            <div class="proxy group col-lg-4 col-md-6 col-xs-12">
              <h3>Proxy</h3>

              <div class="function">
                <label class="function-syntax" for="proxy">proxy</label>
                <input type="checkbox" id="proxy" name="proxy">

                <div class="function-details">
                  Declares a proxy for all HTTP requetes of the scenario on which the configuration is applied
                  <dl>
                    <dt>(Proxy)</dt>
                    <dd>The requests will pass throught the proxy located within the <i>Proxy</i> object</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="noProxyFor">noProxyFor</label>
                <input type="checkbox" id="noProxyFor" name="noProxyFor">

                <div class="function-details">
                  Disables the proxy for a certain list of hosts
                  <dl>
                    <dt>(hosts)</dt>
                    <dd>The <i>hosts</i> ignoring the proxy</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="httpsPort">httpsPort</label>
                <input type="checkbox" id="httpsPort" name="httpsPort">

                <div class="function-details">
                  Uses this if Gatling should use the proxy for HTTPS also
                  <dl>
                    <dt>(port)</dt>
                    <dd>The HTTPS <i>port</i> of the proxy</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="credentials">credentials</label>
                <input type="checkbox" id="credentials" name="credentials">

                <div class="function-details">
                  If your proxy requires BASIC authentication you can set the credentials with this method
                  <dl>
                    <dt>(username,password)</dt>
                    <dd>The requests will be sent as the user <i>username/password</i></dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Headers -->

            <div class="headers group col-lg-4 col-md-6 col-xs-12">
              <h3>Headers</h3>

              <div class="function">
                <label class="function-syntax" for="acceptHeader">acceptHeader</label>
                <input type="checkbox" id="acceptHeader" name="acceptHeader">

                <div class="function-details">
                  Sets the Accept header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="acceptCharsetHeader">acceptCharsetHeader</label>
                <input type="checkbox" id="acceptCharsetHeader" name="acceptCharsetHeader">

                <div class="function-details">
                  Sets the Accept-Charset header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="acceptEncodingHeader">acceptEncodingHeader</label>
                <input type="checkbox" id="acceptEncodingHeader" name="acceptEncodingHeader">

                <div class="function-details">
                  Sets the Accept-Encoding header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="acceptLanguageHeader">acceptLanguageHeader</label>
                <input type="checkbox" id="acceptLanguageHeader" name="acceptLanguageHeader">

                <div class="function-details">
                  Sets the Accept-Language header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="authorizationHeader">authorizationHeader</label>
                <input type="checkbox" id="authorizationHeader" name="authorizationHeader">

                <div class="function-details">
                  Sets the Authorization header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="connectionHeader">connectionHeader</label>
                <input type="checkbox" id="connectionHeader" name="connectionHeader">

                <div class="function-details">
                  Sets the Connection header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="contentTypeHeader">contentTypeHeader</label>
                <input type="checkbox" id="contentTypeHeader" name="contentTypeHeader">

                <div class="function-details">
                  Sets the Content-Type header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="doNotTrackHeader">doNotTrackHeader</label>
                <input type="checkbox" id="doNotTrackHeader" name="doNotTrackHeader">

                <div class="function-details">
                  Sets the DNT header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="userAgentHeader">userAgentHeader</label>
                <input type="checkbox" id="userAgentHeader" name="userAgentHeader">

                <div class="function-details">
                  Sets the User-Agent header for all requests
                  <dl>
                    <dt>(value)</dt>
                    <dd>The <i>value</i> of the header</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Options (1/2) -->

            <div class="options group part-of col-lg-4 col-md-6 col-xs-12">
              <h3>Options</h3>

              <div class="function">
                <label class="function-syntax" for="disableFollowRedirect">disableFollowRedirect</label>
                <input type="checkbox" id="disableFollowRedirect" name="disableFollowRedirect">

                <div class="function-details">
                  Forces the HTTP engine not to follow the redirects. You can also disable it globally on the
                  HttpProtocol
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="maxRedirects">maxRedirects</label>
                <input type="checkbox" id="maxRedirects" name="maxRedirects">

                <div class="function-details">
                  Avoids infinite redirection loops by specifying a number max of redirects
                  <dl>
                    <dt>(max)</dt>
                    <dd>Where <i>max</i> is the number of max redirects</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="disableAutomaticReferer">disableAutomaticReferer</label>
                <input type="checkbox" id="disableAutomaticReferer" name="disableAutomaticReferer">

                <div class="function-details">
                  Forces Gatling not to set the referer of the requests
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="disableWarmUp">disableWarmUp</label>
                <input type="checkbox" id="disableWarmUp" name="disableWarmUp">

                <div class="function-details">
                  Disables the warm up request
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="warmUp">warmUp</label>
                <input type="checkbox" id="warmUp" name="warmUp">

                <div class="function-details">
                  Sets the URL used by Gatling to warm up the HTTP engine
                  <dl>
                    <dt>(url)</dt>
                    <dd>A valid and accessible <i>url</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="ignoreDefaultChecks">ignoreDefaultChecks</label>
                <input type="checkbox" id="ignoreDefaultChecks" name="ignoreDefaultChecks">

                <div class="function-details">
                  Ignores checks for a given request. You can also disable common checks that were defined on the
                  HttpProtocol
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="fetchHtmlResources">fetchHtmlResources</label>
                <input type="checkbox" id="fetchHtmlResources" name="fetchHtmlResources">

                <div class="function-details">
                  Allows to fetch resources in parallel in order to emulate the behaviour of a real web browser
                  <dl>
                    <dt>(WhiteList)</dt>
                    <dd>Fetch all resources matching a pattern in the white list</dd>
                    <dt>(WhiteList, BlackList)</dt>
                    <dd>Fetch all resources matching a pattern in the white list excepting those in the black list</dd>
                    <dt>(Filters)</dt>
                    <dd>More generic version taking any kind of filters</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="maxConnectionsPerHost">maxConnectionsPerHost</label>
                <input type="checkbox" id="maxConnectionsPerHost" name="maxConnectionsPerHost">

                <div class="function-details">
                  Sets the maximum concurrent connections per host per virtual user. Predefined parameters are available
                  through methods such as maxConnectionsPerHostLikeFirefox...
                  <dl>
                    <dt>(max)</dt>
                    <dd>Where <i>max</i> is the number of maximum connections</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="shareConnections">shareConnections</label>
                <input type="checkbox" id="shareConnections" name="shareConnections">

                <div class="function-details">
                  Allows to share connections among users
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="disableClientSharing">disableClientSharing</label>
                <input type="checkbox" id="disableClientSharing" name="disableClientSharing">

                <div class="function-details">
                  Enables one http client per user
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="perUserNameResolution">perUserNameResolution</label>
                <input type="checkbox" id="perUserNameResolution" name="perUserNameResolution">

                <div class="function-details">
                  Enables virtual users to perform name resolution themselves instead of using JDK's shared one.
                </div>
              </div>
            </div>

            <!-- Options (2/2) -->

            <div class="options group col-lg-4 col-md-6 col-xs-12">
              <h3 class="visible-lg visible-md">&nbsp;</h3>

              <div class="function">
                <label class="function-syntax" for="localAddress">localAddress</label>
                <input type="checkbox" id="localAddress" name="localAddress">

                <div class="function-details">
                  Binds the sockets from a specific local address instead of the default one
                  <dl>
                    <dt>(InetAddress)</dt>
                    <dd>Instance of InetAddress representing the address</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="disableCaching">disableCaching</label>
                <input type="checkbox" id="disableCaching" name="disableCaching">

                <div class="function-details">
                  Disables caching features for some http headers and ETag
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="protocolDisableUrlEncoding">disableUrlEncoding</label>
                <input type="checkbox" id="protocolDisableUrlEncoding" name="protocolDisableUrlEncoding">

                <div class="function-details">
                  Disable URLEncoding if you're sure the urls you feed to Gatling are already properly encoded.
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="silentURI">silentURI</label>
                <input type="checkbox" id="silentURI" name="silentURI">

                <div class="function-details">
                  Silence requests that match the pattern
                  A silent request is issued but not logged nor reported
                  <dl>
                    <dt>(String)</dt>
                    <dd>A regular expression pattern to match request urls</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="silentResources">silentResources</label>
                <input type="checkbox" id="silentResources" name="silentResources">

                <div class="function-details">
                  Silence resource requests
                  A silent request is issued but not logged nor reported
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="basicAuth-protocol">basicAuth</label>
                <input type="checkbox" id="basicAuth-protocol" name="basicAuth-protocol">

                <div class="function-details">
                  Sets the credentials for BASIC authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="digestAuth-protocol">digestAuth</label>
                <input type="checkbox" id="digestAuth-protocol" name="digestAuth-protocol">

                <div class="function-details">
                  Sets the credentials for DIGEST authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="ntlmAuth-protocol">ntlmAuth</label>
                <input type="checkbox" id="ntlmAuth-protocol" name="ntlmAuth-protocol">

                <div class="function-details">
                  Sets the credentials for NTLM authentication
                  <dl>
                    <dt>(user, password)</dt>
                    <dd>Will authenticate as <i>user</i> with <i>password</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="authRealm-protocol">authRealm</label>
                <input type="checkbox" id="authRealm-protocol" name="authRealm-protocol">

                <div class="function-details">
                  Generic method to add authentication
                  <dl>
                    <dt>(Realm)</dt>
                    <dd>Takes a <i>Realm</i> instance</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Plumbing -->

            <div class="plumbing group col-lg-4 col-md-6 col-xs-12">
              <h3>Plumbing</h3>

              <div class="function">
                <label class="function-syntax" for="extraInfoExtractor">extraInfoExtractor</label>
                <input type="checkbox" id="extraInfoExtractor" name="extraInfoExtractor">

                <div class="function-details">
                  Dumps additional data into simulation.log during the simulation
                  <dl>
                    <dt>(ExtraInfo => List[Any])</dt>
                    <dd>The function is used by Gatling to add several columns containing extra info to the simulation
                      log
                      file.
                    </dd>
                    <dd>ExtraInfo provides :
                      <ul>
                        <li><em>requestName</em>: The request's name</li>
                        <li><em>status</em>: The request's status (<strong>OK</strong> or <strong>KO</strong>)</li>
                        <li><em>session</em>: The user's session</li>
                        <li><em>request</em>: The sent request</li>
                        <li><em>response</em>: The received response</li>
                      </ul>
                    </dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax"
                       for="disableResponseChunksDiscarding">disableResponseChunksDiscarding</label>
                <input type="checkbox" id="disableResponseChunksDiscarding" name="disableResponseChunksDiscarding">

                <div class="function-details">
                  If you want the body of the response to be kept when using <i>extraInfoExtractor</i>, you'll have to
                  disable response chunk discard (which is a performance optimization)
                </div>
              </div>
            </div>
          </div>

          <!-- SSE -->

          <div class="row-fluid">
            <h2>
              SSE (Server Sent Events)
              <small>Define the SSE requests sent in your scenario</small>
            </h2>

            <div class="ws group col-lg-4 col-md-6 col-xs-12">
              <h3>SSE</h3>

              <div class="function">
                <label class="function-syntax" for="sse">sse</label>
                <input type="checkbox" id="sse" name="sse">

                <div class="function-details">
                  Declares an SSE request
                  <dl>
                    <dt>(requestName)</dt>
                    <dd>Name of the request</dd>
                  </dl>
                </div>
              </div>
            </div>

            <div class="ws-common group col-lg-4 col-md-6 col-xs-12">
              <h3>Commons</h3>

              <div class="function">
                <label class="function-syntax" for="sseName">sseName</label>
                <input type="checkbox" id="sseName" name="sseName">

                <div class="function-details">
                  Allows to deal with several SSE per virtual user
                  <dl>
                    <dt>(requestName)</dt>
                    <dd>Gives the requests a name and pass this name on each SSE operation</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="sse-open">open</label>
                <input type="checkbox" id="sse-open" name="sse-open">

                <div class="function-details">
                  Opens a SSE
                  <dl>
                    <dt>(url)</dt>
                    <dd>Enables communication to the given <i>url</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="sse-close">close</label>
                <input type="checkbox" id="sse-close" name="sse-close">

                <div class="function-details">
                  Closes a SSE
                </div>
              </div>

            </div>
          </div>

          <!-- WebSockets -->

          <div class="row-fluid">
            <h2>
              WebSockets
              <small>Define the WebSocket requests sent in your scenario</small>
            </h2>

            <div class="ws group col-lg-4 col-md-6 col-xs-12">
              <h3>WebSocket</h3>

              <div class="function">
                <label class="function-syntax" for="ws">ws</label>
                <input type="checkbox" id="ws" name="ws">

                <div class="function-details">
                  Declares an webSocket request
                  <dl>
                    <dt>(requestName)</dt>
                    <dd>Name of the request</dd>
                  </dl>
                </div>
              </div>
            </div>

            <div class="ws-common group col-lg-4 col-md-6 col-xs-12">
              <h3>Commons</h3>

              <div class="function">
                <label class="function-syntax" for="wsName">wsName</label>
                <input type="checkbox" id="wsName" name="wsName">

                <div class="function-details">
                  Allows to deal with several webSockets per virtual user
                  <dl>
                    <dt>(requestName)</dt>
                    <dd>Gives the requests a name and pass this name on each ws operation</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="open">open</label>
                <input type="checkbox" id="open" name="open">

                <div class="function-details">
                  Opens a webSocket
                  <dl>
                    <dt>(url)</dt>
                    <dd>Enables communication to the given <i>url</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="close">close</label>
                <input type="checkbox" id="close" name="close">

                <div class="function-details">
                  Closes a webSocket
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="sendText">sendText</label>
                <input type="checkbox" id="sendText" name="sendText">

                <div class="function-details">
                  Sends a message
                  <dl>
                    <dt>(stringMessage)</dt>
                    <dd>Send <i>stringMessage</i> as a string</dd>
                    <dt>(bytesMessage)</dt>
                    <dd>Send <i>bytesMessage</i> as a bytes array</dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- WebSockets checks -->

          <div class="row-fluid">
            <h2>
              WebSockets/SSE Checks
              <small>Verifying server responses</small>
            </h2>

            <!-- Checks (1/2) -->

            <div class="ws-checks group part-of col-lg-4 col-md-6 col-xs-12">
              <h3>Checks</h3>

              <div class="function">
                <label class="function-syntax" for="cancelCheck">cancelCheck</label>
                <input type="checkbox" id="cancelCheck" name="cancelCheck">

                <div class="function-details">
                  Cancels a pending check
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="wsListen">wsListen</label>
                <input type="checkbox" id="wsListen" name="wsListen">

                <div class="function-details">
                  Creates a non blocking check
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="wsAwait">wsAwait</label>
                <input type="checkbox" id="wsAwait" name="wsAwait">

                <div class="function-details">
                  Creates a blocking check
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="within">within</label>
                <input type="checkbox" id="within" name="within">

                <div class="function-details">
                  Sets a timeout
                  <dl>
                    <dt>(timeout)</dt>
                    <dd>Where <i>timeout</i> is a FiniteDuration instance</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="until">until</label>
                <input type="checkbox" id="until" name="until">

                <div class="function-details">
                  Checks will succeed as soon as Gatling has received the expected count of matching messages
                  <dl>
                    <dt>(count)</dt>
                    <dd>Where <i>count</i> is the number of matching messages</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Checks (2/2) -->

            <div class="ws-checks group col-lg-4 col-md-6 col-xs-12">
              <h3 class="visible-lg visible-md">&nbsp;</h3>

              <div class="function">
                <label class="function-syntax" for="expect">expect</label>
                <input type="checkbox" id="expect" name="expect">

                <div class="function-details">
                  Waits until the timeout, then the check will succeed if it has received the expected count of matching
                  messages
                  <dl>
                    <dt>(count)</dt>
                    <dd>Where <i>count</i> is the number of matching messages</dd>
                    <dt>(range)</dt>
                    <dd>Where <i>range</i> is an instance of Range</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="regex2">regex</label>
                <input type="checkbox" id="regex2" name="regex">

                <div class="function-details">
                  Check will be applied to an extract of the frame payload
                  <dl>
                    <dt>(expression)</dt>
                    <dd>Extraction will use a regular expression defined by <i>expression</i>.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jsonPath2">jsonPath</label>
                <input type="checkbox" id="jsonPath2" name="jsonPath">

                <div class="function-details">
                  Check will be applied to an extract of the frame payload
                  <dl>
                    <dt>(expression)</dt>
                    <dd>jsonPath is similar to XPATH, but for JSON encoded data.</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jsonpJsonPath2">jsonpJsonPath</label>
                <input type="checkbox" id="jsonpJsonPath2" name="jsonpJsonPath">

                <div class="function-details">
                  Check will be applied to an extract of the frame payload
                  <dl>
                    <dt>(expression)</dt>
                    <dd>jsonpJsonPath is similar to jsonPath, but for JSONP</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="reconciliate">reconciliate</label>
                <input type="checkbox" id="reconciliate" name="reconciliate">

                <div class="function-details">
                  Reconciliates main flow and WebSocket/SSE flow
                </div>
              </div>
            </div>
          </div>

          <!-- WebSockets configuration -->

          <div class="row-fluid">
            <h2>
              WebSockets Configuration
              <small>Mutualize your webSockets code and tune the behaviour of Gatling's webSocket client</small>
            </h2>

            <!-- Configuration -->

            <div class="ws-config group part-of col-lg-4 col-md-6 col-xs-12">
              <h3>Configuration</h3>

              <div class="function">
                <label class="function-syntax" for="wsBaseURL">wsBaseURL</label>
                <input type="checkbox" id="wsBaseURL" name="wsBaseURL">

                <div class="function-details">
                  Serves as root that will be prepended to all relative webSocket urls
                  <dl>
                    <dt>(url)</dt>
                    <dd>Where <i>url</i> is the root url</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="wsBaseURLs">wsBaseURLs</label>
                <input type="checkbox" id="wsBaseURLs" name="wsBaseURLs">

                <div class="function-details">
                  Serves as round-robin roots that will be prepended to all relative webSocket urls
                  <dl>
                    <dt>(url...)</dt>
                    <dd>Where <i>url</i> are the root urls</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="wsReconnect">wsReconnect</label>
                <input type="checkbox" id="wsReconnect" name="wsReconnect">

                <div class="function-details">
                  Automatically reconnect a webSocket that would have been closed by someone else than the client
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="wsMaxReconnects">wsMaxReconnects</label>
                <input type="checkbox" id="wsMaxReconnects" name="wsMaxReconnects">

                <div class="function-details">
                  Sets a limit on the number of times a webSocket will be automatically reconnected
                  <dl>
                    <dt>(count)</dt>
                    <dd>Where <i>count</i> is the number of maximum reconnections url</dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- JMS -->

          <div class="row-fluid">
            <h2>
              JMS
              <small>Define the JMS requests sent in your scenario</small>
            </h2>

            <!-- Start -->

            <div class="javams-start group col-lg-4 col-md-6 col-xs-12">
              <h3>Start</h3>

              <div class="function">
                <label class="function-syntax" for="jms-request">jms</label>
                <input type="checkbox" id="jms-request" name="jms-request">

                <div class="function-details">
                  Declares an JMS request
                  <dl>
                    <dt>(requestName)</dt>
                    <dd>Name of the request</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Commons (1/2) -->

            <div class="javams-common group part-of col-lg-4 col-md-6 col-xs-12">
              <h3>Commons</h3>

              <div class="function">
                <label class="function-syntax" for="reqreply">reqreply</label>
                <input type="checkbox" id="reqreply" name="reqreply">

                <div class="function-details">
                  Sets the messaging implementation to request/reply
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="send">send</label>
                <input type="checkbox" id="send" name="send">

                <div class="function-details">
                  Sets the messaging implementation to send
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="queue2">queue</label>
                <input type="checkbox" id="queue2" name="queue">

                <div class="function-details">
                  Defines a target destination
                  <dl>
                    <dt>(name)</dt>
                    <dd>Where <i>name</i> is the name of the queue</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="destination">destination</label>
                <input type="checkbox" id="destination" name="destination">

                <div class="function-details">
                  Defines a target destination
                  <dl>
                    <dt>(destination)</dt>
                    <dd>Where <i>destination</i> is an instance of JmsDestination</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="replyQueue">replyQueue</label>
                <input type="checkbox" id="replyQueue" name="replyQueue">

                <div class="function-details">
                  Defines a reply destination
                  <dl>
                    <dt>(name)</dt>
                    <dd>Where <i>name</i> is the name of the queue</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="replyDestination">replyDestination</label>
                <input type="checkbox" id="replyDestination" name="replyDestination">

                <div class="function-details">
                  Defines a reply destination
                  <dl>
                    <dt>(destination)</dt>
                    <dd>Where <i>destination</i> is an instance of JmsDestination</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="selector">selector</label>
                <input type="checkbox" id="selector" name="selector">

                <div class="function-details">
                  Defines a JMS message selector
                  <dl>
                    <dt>(selector)</dt>
                    <dd>Where <i>selector</i> is the name of the selector</dd>
                  </dl>
                </div>
              </div>
            </div>

            <!-- Commons (2/2) -->

            <div class="javams-common group col-lg-4 col-md-6 col-xs-12">
              <h3 class="visible-lg visible-md">&nbsp;</h3>

              <div class="function">
                <label class="function-syntax" for="textMessage">textMessage</label>
                <input type="checkbox" id="textMessage" name="textMessage">

                <div class="function-details">
                  Sends a text message
                  <dl>
                    <dt>(textMessage)</dt>
                    <dd>Where <i>textMessage</i> is a string</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="bytesMessage">bytesMessage</label>
                <input type="checkbox" id="bytesMessage" name="bytesMessage">

                <div class="function-details">
                  Sends a byte message
                  <dl>
                    <dt>(bytesMessage)</dt>
                    <dd>Where <i>bytesMessage</i> is a byte array</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="mapMessage">mapMessage</label>
                <input type="checkbox" id="mapMessage" name="mapMessage">

                <div class="function-details">
                  Sends a map message
                  <dl>
                    <dt>(mapMessage)</dt>
                    <dd>Where <i>mapMessage</i> is a map</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="objectMessage">objectMessage</label>
                <input type="checkbox" id="objectMessage" name="objectMessage">

                <div class="function-details">
                  Sends an object message
                  <dl>
                    <dt>(objectMessage)</dt>
                    <dd>Where <i>objectMessage</i> is an object implementing JSerializable</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="property">property</label>
                <input type="checkbox" id="property" name="property">

                <div class="function-details">
                  Sends additional properties
                  <dl>
                    <dt>(key, value)</dt>
                    <dd>Sets <i>value</i> as an object property <i>key</i></dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jmsType">jmsType</label>
                <input type="checkbox" id="jmsType" name="jmsType">

                <div class="function-details">
                  Sends additional properties
                  <dl>
                    <dt>(value)</dt>
                    <dd>Sets <i>value</i> as a <a
                      href="https://docs.oracle.com/javaee/6/api/javax/jms/Message.html#setJMSType(java.lang.String)">JMSType</a>
                    </dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- JMS Checks -->

          <div class="row-fluid">
            <h2>
              JMS Checks
              <small>Verifying server responses</small>
            </h2>

            <div class="javams-checks group col-lg-4 col-md-6 col-xs-12">
              <h3>Checks</h3>

              <div class="function">
                <label class="function-syntax" for="simpleCheck">simpleCheck</label>
                <input type="checkbox" id="simpleCheck" name="simpleCheck">

                <div class="function-details">
                  Allows to check a message
                  <dl>
                    <dt>(function)</dt>
                    <dd>Where <i>function</i> takes a Message and returns a Boolean</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="xpath2">xpath</label>
                <input type="checkbox" id="xpath2" name="xpath">

                <div class="function-details">
                  Allows to check a TextMessage with XPath
                  <dl>
                    <dt>(expression)</dt>
                    <dd>Where <i>expression</i> is an XPath expression</dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>

          <!-- JMS Configuration -->

          <div class="row-fluid">
            <h2>
              JMS Configuration
              <small>Configure how Gatling connects to your JMS queues</small>
            </h2>

            <div class="javams-config group col-lg-4 col-md-6 col-xs-12">
              <h3>Configuration</h3>

              <div class="function">
                <label class="function-syntax" for="jms-config">jms</label>
                <input type="checkbox" id="jms-config" name="jms-config">

                <div class="function-details">
                  Entry point of your JMS configuration
                </div>
              </div>
            </div>

            <div class="javams-connect group col-lg-4 col-md-6 col-xs-12">
              <h3>Connecting</h3>

              <div class="function">
                <label class="function-syntax" for="connectionFactoryName">connectionFactoryName</label>
                <input type="checkbox" id="connectionFactoryName" name="connectionFactoryName">

                <div class="function-details">
                  <p>Mandatory.</p>
                  Set the name of the ConnectionFactory to use
                  <dl>
                    <dt>(name)</dt>
                    <dd>where <em>name</em> is a string</dd>
                  </dl>
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="url">url</label>
                <input type="checkbox" id="url" name="url">

                <div class="function-details">
                  <p>Mandatory.</p>
                  Set the URL of the queue to connect to.
                  <dl>
                    <dt>(url)</dt>
                    <dd>where <em>url</em> is a string</dd>
                  </dl>
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="contextFactory">contextFactory</label>
                <input type="checkbox" id="contextFactory" name="jms-contextFactory">

                <div class="function-details">
                  <p>Mandatory.</p>
                  Set the name of the JNDI ContextFactory to use.
                  <dl>
                    <dt>(contextFactory)</dt>
                    <dd>where <em>contextFactory</em> is a string</dd>
                  </dl>
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="jms-credentials">credentials</label>
                <input type="checkbox" id="jms-credentials" name="jms-credentials">

                <div class="function-details">
                  <p>Optional.</p>
                  Set the credentials used for the queues JNDI lookup
                  <dl>
                    <dt>(username, password)</dt>
                    <dd>the username and password to use as credentials</dd>
                  </dl>
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="jms-disableAnonymousConnect">disableAnonymousConnect</label>
                <input type="checkbox" id="jms-disableAnonymousConnect" name="jms-disableAnonymousConnect">

                <div class="function-details">
                  <p>Optional.</p>
                  Use credentials for opening connections too
                </div>
              </div>

              <div class="function">
                <label class="function-syntax" for="listenerCount">listenerCount</label>
                <input type="checkbox" id="listenerCount" name="listenerCount">

                <div class="function-details">
                  <p>Mandatory. must be > 0.</p>
                  Number of consumers that will listen to incoming messages on the reply queue
                  <dl>
                    <dt>(listenerCount)</dt>
                    <dd>The number of consumers</dd>
                  </dl>
                </div>
              </div>
            </div>

            <div class="javams-delivery group col-lg-4 col-md-6 col-xs-12">
              <h3>Delivery modes</h3>

              <div class="function">
                <label class="function-syntax" for="useNonPersistentDeliveryMode">useNonPersistentDeliveryMode</label>
                <input type="checkbox" id="useNonPersistentDeliveryMode" name="useNonPersistentDeliveryMode">

                <div class="function-details">
                  Use JMS' non-persistent delivery mode (active by default)
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="usePersistentDeliveryMode">usePersistentDeliveryMode</label>
                <input type="checkbox" id="usePersistentDeliveryMode" name="usePersistentDeliveryMode">

                <div class="function-details">
                  Use JMS' persistent delivery mode
                </div>
              </div>
            </div>

            <div class="javams-match group col-lg-4 col-md-6 col-xs-12">
              <h3>
                Message matching
              </h3>

              <div class="function">
                <label class="function-syntax" for="matchByMessageID">matchByMessageID</label>
                <input type="checkbox" id="matchByMessageID" name="matchByMessageID">

                <div class="function-details">
                  Match request and response using JMS's MessageID
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="matchByCorrelationID">matchByCorrelationID</label>
                <input type="checkbox" id="matchByCorrelationID" name="matchByCorrelationID">

                <div class="function-details">
                  Match request and response using JMS's CorrelationID
                </div>
              </div>
              <div class="function">
                <label class="function-syntax" for="messageMatcher">messageMatcher</label>
                <input type="checkbox" id="messageMatcher" name="messageMatcher">

                <div class="function-details">
                  Match request and response using a custom strategy
                  <dl>
                    <dt>(messageMatcher)</dt>
                    <dd>an implementation of <em>JmsMessageMatcher</em>, specifying how the <em>requestID</em> and <em>responseID</em>
                      are retrieved from the JMS <em>Message</em></dd>
                  </dl>
                </div>
              </div>
            </div>
          </div>
        </div>
      </article>
    </main>
  </div>
</div>
